// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`Bar.js 1`] = `

/* @providesModule Bar */

var Qux = require('Qux');

class Bar {
  y:number;
  self:Bar;
  constructor(y:number) {
    this.y = y;
    this.self = this;
  }

  bar(z:string,u:string):string {
    new Qux().w = "?";
    return z;
  }
}

module.exports = Bar;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/* @providesModule Bar */

var Qux = require("Qux");

class Bar {
  y: number;
  self: Bar;
  constructor(y: number) {
    this.y = y;
    this.self = this;
  }

  bar(z: string, u: string): string {
    new Qux().w = "?";
    return z;
  }
}

module.exports = Bar;

`;

exports[`Foo.js 1`] = `

/* @providesModule Foo */

var Bar = require('Bar');
var Qux = require('Qux');

class Foo extends Qux {
  x:string;
  constructor(x:string) {
    this.x = x;
  }

  foo(y:string,z):number {
    this.x = y;
    var u = new Foo("...").qux();
    var v = new Bar(y);
    v.self = v;
    return v.bar(z,u);
  }

  fooqux(x:string) {
    this.x;
  }
}

module.exports = Foo;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/* @providesModule Foo */

var Bar = require("Bar");
var Qux = require("Qux");

class Foo extends Qux {
  x: string;
  constructor(x: string) {
    this.x = x;
  }

  foo(y: string, z): number {
    this.x = y;
    var u = new Foo("...").qux();
    var v = new Bar(y);
    v.self = v;
    return v.bar(z, u);
  }

  fooqux(x: string) {
    this.x;
  }
}

module.exports = Foo;

`;

exports[`Qux.js 1`] = `

/* @providesModule Qux */

class Qux {
  w:number;

  qux() { return this.w; }

  fooqux(x:number) { }
}

module.exports = Qux;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/* @providesModule Qux */

class Qux {
  w: number;

  qux() {
    return this.w;
  }

  fooqux(x: number) {}
}

module.exports = Qux;

`;
